Eingabe in Listen
In den Zeiten von TableControls und ALV-Grids sind Listen vielleicht nicht mehr ganz aktuell, aber manche kleinen Programme sind schnell als Liste programmiert. Auch Eingaben in Listen sind möglich, wie das folgende Programm zeigt.
|
In einer Liste mit Einträgen zum Ankreuzen möchte man vielleicht dem Anwender die Möglichkeit geben, alle Einträge zu markieren, bzw. alle Markierungen wieder zu entfernen.
Das Auslesen der markierten Punkte muss dann noch mittels READ LINE erfolgen: Eingabe in Listen
Das Programm
REPORT zzenno14 .
DATA:
linex TYPE syindex,
sel TYPE c,
bezei TYPE sptxt.
START-OF-SELECTION.
*** GUI-Status setzen
*** SALL = Alle Markierungen setzen
*** DALL = Alle Markierungen löschen
SET PF-STATUS ‘LIST’.
*** Daten lesen
SELECT sptxt FROM t002t INTO bezei WHERE spras = sy-langu.
*** …und ausgeben
WRITE: / sel AS CHECKBOX INPUT ON,
bezei.
ENDSELECT.
AT USER-COMMAND.
CASE sy-ucomm.
*** Abfrage
WHEN ‘SALL’ OR ‘DALL’.
DO.
linex = sy-index.
*** Zeile lesen
READ LINE linex FIELD VALUE sel bezei.
IF sy-subrc > 0. EXIT. ENDIF.
CASE sy-ucomm.
WHEN ‘SALL’.
*** Marker setzen
MODIFY LINE linex FIELD VALUE sel FROM ‘X’.
WHEN ‘DALL’.
*** Marker löschen
MODIFY LINE linex FIELD VALUE sel FROM ‘ ‘.
ENDCASE.
ENDDO.
ENDCASE.
- 7. December: Excel Racing Simulation – Root Vole Race - 7. Dezember 2024
- 5. December: ABAPConf - 5. Dezember 2024
- 4. December: Only a lazy developer is a good developer - 4. Dezember 2024